<?php
	require_once "View\RegisterView.php";
	require_once "Model\RegisterHandler.php";
	
	require_once "Model\User.php";
	
	class RegisterReturnValue extends Page{
		
		public $feedback = NULL;
		
		public function __construct(){
			$this->m_title = "Registring";
			$this->m_javascript = "JS/validation.js";
		}
	}
	class RegisterController {
		
		//Privata variabler
		private $rh;
		private $rv;
		
		//Konstruktor som skapar instanser av view och handler
		public function __construct(){
			$this->rh = new RegisterHandler();
			$this->rv = new RegisterView();
		}
			
		public function DoControll(){
			$ret = new RegisterReturnValue();
			
			//...användaren försöker registrera sig...
			if($this->rv->TriedToRegister()){
				//...och informationen är godkänd
				if($this->rh->ValidateInfo($this->GetInfo())) {
					$ret->m_body = $this->rv->DoRegisterdPage();
				} 
				//...med fel information är ifylld
				else{
					$ret->m_body = $this->rv->DoRegistrationForm();
				}
			}
			//...eller skall formuläret fyllas i
			else {
				$ret->m_body = $this->rv->DoRegistrationForm();
			}
			return $ret;
		}
		//Hämtar information och sparar undan detta i en array
		public function GetInfo(){
			$user = new User();
			return $user->Create($this->rv->GetEmail(),
							     $this->rv->GetFirstName(),
							     $this->rv->GetLastName(),
							     $this->rv->GetDateOfBirth(),
							     $this->rv->GetPassword());
		}
	}
?>